<?php

/**
 * @author Terry & 千里孤坟
 * @copyright TH Studio/chinafe
 */

	require_once("base_class.php");	
	require_once("atkskill_class.php");
	require_once("mgcskill_class.php");
	require_once("cureskill_class.php");
	require_once("sptskill_class.php");
	require_once("abnskill_class.php");
	require_once("specskill_class.php");
	require_once("dummyskill_class.php"); //空实现技能类
	require_once("others_class.php"); //其它指令类
	require_once("order.php"); //顺位计算函数库
	require_once("terrain.php"); //地形列表
	
/**
* 主动技能工厂类
* 单例工厂模式
*/
class SkillFactory {
	
	private function __construct() {
		$this->skills = array(
						1 => new AttackSkill,
						2 => new AttackAllSkill,
						3 => new Slash,
						4 => new KillSlash,
						5 => new EnamelCut,
						6 => new AngelArrow,
						7 => new PoisonArrow,
						8 => new LiliTeeth,
						9 => new DumbKill,
						10 => new PowerSlash,
						11 => new PullStrike,
						12 => new HighHeelShoe,
						13 => new AtomicDestroy,
						14 => new TenchuKill,
						15 => new BloodyAntar,
						16 => new DeadEnd,
						17 => new Rebellion,
						18 => new WoodCut,
						19 => new ArmorCut,
						20 => new RedLotusSaber,
						21 => new SwordDance,
						22 => new KingKongDestroy,
						23 => new ExcellentSword,
						24 => new BlackClick,
						25 => new BlinkSpark,
						26 => new SonicPunch,
						27 => new LionHigh,
						28 => new CrazyCrack, 
						29 => new DarkShadow,
						30 => new MoonShadow,
						31 => new MillonShoot,
						32 => new DarkCrusade,
						33 => new LotusCut, 
						34 => new WindThunder,
						35 => new NiceBoatx8,
						36 => new MoonAttack,
						37 => new DeathPower,
						38 => new MayRainCut,
						39 => new AionRain,
						40 => new NightSword,
						41 => new DolisAgion,
						42 => new IronClaw,
						43 => new BeatFaceBeatFaceAgain,
						44 => new HellFrog,
						45 => new WaterClaw,
						46 => new SkyArrows,
						47 => new AroundDestroy,
						48 => new GuillotineAxe,
						49 => new CrossCut,
						50 => new SakuraFlash,
						51 => new MayBlinkStrike,
						52 => new DeathPile,
						53 => new HellStrike,
						54 => new WindBerserker,
						55 => new Kagura,
						56 => new BeastBasaka,
						57 => new YashaCut,
						58 => new TheEnd, 
						59 => new DemonLaw,
						60 => new TeaLeafEgg,
						61 => new BarrenViolence,
						62 => new GiantHornStrike,
						63 => new ArmiesLance,
						64 => new ShuraSwordDance,
						65 => new FogRainSlash,
						66 => new SpaceKill,
						67 => new BlowUpWindStrike,
						68 => new HadesStrike,
						69 => new DarkSaber,
						70 => new LightSmash,
						71 => new AkaShaATu,
						72 => new Agneyastra,
						73 => new GodHand,
						74 => new GodArrow,
						75 => new ZionSword,
						76 => new TerrorSword,
						77 => new BraveSaber,
						78 => new ZionLance,
						79 => new MaraStrike,
						80 => new ChaosAttack,
						81 => new RogueKick,
						82 => new VillageSword,
						83 => new FilthWind,
						84 => new DoomsDay,
						85 => new ExecutionWave,
						86 => new CrackSoul,
						87 => new ZerosHit,
						88 => new MoonNightAttack,
						89 => new JavelinRain,
						90 => new Asura,
						91 => new DragonCrash,
						92 => new VacuumCut,
						93 => new VirtualCrawl,
						94 => new ExtinctPunch,
						95 => new RakshaDragon,
						96 => new DragonCross,
						97 => new HeatCrazy,
						98 => new CycloneStrike,
						99 => new PureRay,
						100 => new BalialTentacle,
						101 => new InnocentAttack,
						102 => new AnnihilateEvilSword,
						103 => new Laevatein,
						104 => new AuroralCut,
						105 => new ThunderBattleArray,
						106 => new Pulalaya,
						107 => new ChampionMissle,
						108 => new LordOfWar,
						109 => new Deicide,
						110 => new Agi,
						111 => new AgiOn,
						112 => new AgiDain,
						113 => new MahaLagi,
						114 => new MahaLagiOn,
						115 => new MahaLagiDain,
						116 => new Prominence,
						117 => new Exploud,
						118 => new Meltdown,
						119 => new HeatExplode,
						120 => new HellFlame,
						121 => new FireDark,
						122 => new HeatRoar,
						123 => new NovaBreak,
						124 => new Ragnarok,
						125 => new UltimateFire,
						126 => new ThirdEye,
						127 => new Bufu,
						128 => new BufuLa,
						129 => new BufuDain,
						130 => new MahaBufu,
						131 => new MahaBufuLa,
						132 => new MahaBufuDain,
						133 => new CrystalDust,
						134 => new DiamondDust,
						135 => new ColdField,
						136 => new Neg273Degree,
						137 => new CloudFallDown,
						138 => new PainSflash,
						139 => new Maelstrom,
						140 => new CocytusPain,
						141 => new Niflheim,
						142 => new MerFaith,
						143 => new BloodyRain,
						144 => new Jio,
						145 => new JioGa,
						146 => new JioDain,
						147 => new MahaJio,
						148 => new MahaJioGa,
						149 => new MahaJioDain,
						150 => new SofStar,
						151 => new UnlimitedThunder,
						152 => new NaruKami,
						153 => new JudgeThunder,
						154 => new MadThunder,
						155 => new FoolIsCrime,
						156 => new ThunderDance,
						157 => new GraceArrow,
						158 => new TruthThunder,
						159 => new ParalysisThunder,
						160 => new TeddyBearAngry,
						161 => new Maguna,
						162 => new Magunas,
						163 => new MaguDain,
						164 => new MahaMaguna,
						165 => new MahaMagunas,
						166 => new MahaMaguDain,
						167 => new HeavyRock,
						168 => new Earthquake,
						169 => new HellDesert,
						170 => new TitanMaquia,
						171 => new Turbo,
						172 => new HateStream,
						173 => new MotherGround,
						174 => new EeathAngry,
						175 => new Mudflow,
						176 => new LastQuake,
						177 => new GaiaRage,
						178 => new Garu,
						179 => new GaruLa,
						180 => new GaruDain,
						181 => new MahaGaru,
						182 => new MahaGaruLa,
						183 => new MahaGaruDain,
						184 => new VacuumBlade,
						185 => new Tornado,
						186 => new GigaCyclone,
						187 => new WorldWind,
						188 => new DevildomWind,
						189 => new GodSkyBo,
						190 => new VayaVaya,
						191 => new SkyFeatherDance,
						192 => new WorldWash,
						193 => new FlowerWind,
						194 => new DestroyWind,
						195 => new Hama,
						196 => new Hamaon,
						197 => new MaHama,
						198 => new MaHamaon,
						199 => new WhiteForever,
						200 => new GodTrial,
						201 => new Judgement,
						202 => new ArufaBlaster,
						203 => new UnlimitedLight,
						204 => new LightJudge,
						205 => new Nemesis,
						206 => new PatterAndPatter,
						207 => new LawfulLight,
						208 => new SeraphRoar,
						209 => new CleanLight,
						210 => new Xanadu,
						211 => new GodLight,
						212 => new Muto,
						213 => new Muton,
						214 => new MahaMuto,
						215 => new MahaMuton,
						216 => new BlackImmotal,
						217 => new DevilTrial,
						218 => new CurseEpitaph,
						219 => new OmegaClaster,
						220 => new ChaosMalaria,
						221 => new CurseTalk,
						222 => new CattinessWork,
						223 => new LeadToHell,
						224 => new NightMelody,
						225 => new SenNenNoHate,
						226 => new UltimateSwirl,
						227 => new Pandemonium,
						228 => new ToweringInferno,
						229 => new MgcAttackSkill,
						230 => new MgcAttackAllSkill,
						231 => new Megito,
						232 => new MegitoLa,
						233 => new MegitoLaOn,
						234 => new MegitoFire,
						235 => new MegitoFirePlus,
						236 => new DevilDance,
						237 => new StarLight,
						238 => new ChaosElement,
						239 => new BillionVice,
						240 => new EdenFire,
						241 => new SotomBurial,
						242 => new AbstainTerror,
						243 => new MegitoStorm,
						244 => new AllOneHit,
						245 => new EnvyPress,
						246 => new NebulaOculus,
						247 => new FantasyDream,
						248 => new FlyFuneral,
						249 => new SinaiFlame,
						250 => new EmpressLibdo,
						251 => new DragonFly,
						252 => new BramShasta,
						253 => new CrashLight,
						254 => new Metempsychosis,
						255 => new Venus,
						256 => new TaiJiWheel,
						257 => new EndlessLight,
						258 => new DarkMatter,
						259 => new DeepBlackSnake,
						260 => new MegitoLaDain,
						261 => new EvilBlaze,
						262 => new WorldIsOver,
						263 => new Jihad,
						264 => new Analyze,
						265 => new OtomiNoInori,
						266 => new JouseNoInori,
						267 => new SilentPray,
						268 => new SuckBlood,
						269 => new SuckMana,
						270 => new TuolaFuli,
						271 => new SuperSuckBlood,
						272 => new SuperSuckMana,
						273 => new ChaosFog,
						274 => new HateCry,
						275 => new SuccubusParty,
						276 => new SinSong,
						277 => new RuinDance,
						278 => new CharmFruit,
						279 => new DoYouWantToDie,
						280 => new DeathSigh,
						//281 => new GodMalice,
						282 => new MirrorPrison,
						283 => new NightAura,
						284 => new DevilUnison,
						285 => new IllusionCeremony,
						286 => new LostWord,
						287 => new ColorfulWind,
						288 => new SkyEncourage,
						289 => new HanaBless,
						290 => new LordCommand,
						291 => new StarsGuard,
						292 => new MahaAnalyze,
						293 => new TakeOffCloth,
						294 => new DarkSun,
						295 => new ShinSummerDream,
						296 => new JindoMistre,
						297 => new LoveSmile,
//						298 => new BodRelief,
//						299 => new DragonArterysSpell,
						305 => new PoisonMa,
						306 => new PoisonMist,
						307 => new MalinKalin,
						308 => new SexyDance,
						309 => new Bersaka,
						310 => new BabarianDance,
						311 => new Magasha,
						312 => new FoolSigh,
						313 => new PalalaEye,
						314 => new ShakoWave,
						315 => new Freeha,
						316 => new DendRafu,
						317 => new DevilAttach,
						318 => new SwabSmile,
						319 => new AyJingu,
						320 => new AltWorm,
						321 => new PetraEye,
						322 => new HellsEye,
						323 => new BodyLiberate,
						324 => new TopBody,
						325 => new PornIsNull,
						326 => new AnnoyIsBodhi,
						327 => new BadBlow,
						328 => new BadAir,
						329 => new WraithBreath,
						330 => new DeiA,
						331 => new MeDeiA,
						332 => new DeiLama,
						333 => new MeDeiLama,
						334 => new DeiLaHang,
						335 => new MeDeiLaHang,
						336 => new LifeSpring,
						337 => new Messiah,
						338 => new RiKaaMu,
						339 => new SamRiKaaMu,
						340 => new RiKaaMuDora,
						341 => new CureLure,
						342 => new CurePara,
						343 => new CurePoison,
						344 => new CureClose,
						345 => new CureConfuse,
						346 => new CureTerror,
						347 => new CureHigh,
						348 => new CureOld,
						349 => new CureMental,
						350 => new CureBody,
						351 => new CureAllMental,
						352 => new CureAllBody,
						353 => new LovePray,
						354 => new Amurita,
						355 => new StrUp,
						356 => new MgrUp,
						357 => new SpdUp,
						358 => new VitUp,
						359 => new StrAllUp,
						360 => new MgrAllUp,
						361 => new SpdAllUp,
						362 => new VitAllUp,
						363 => new HeatRiser,
						364 => new StrDown,
						365 => new MgrDown,
						366 => new SpdDown,
						367 => new VitDown,
						368 => new StrAllDown,
						369 => new MgrAllDown,
						370 => new SpdAllDown,
						371 => new VitAllDown,
						372 => new RandaMiser,
						373 => new AllUpVanish,
						374 => new AllDownVanish,
						375 => new AllCrtUp1,
						376 => new AllCrtUp2,
						377 => new CrtUpPrediction,
						378 => new ChargeUp,
						379 => new Concentrate,
						380 => new DoubleCharge,
						381 => new CurseWord,
						382 => new FireGuardKill,
						383 => new IceGuardKill,
						384 => new WindGuardKill,
						385 => new ThunderGuardKill,
						386 => new EarthGuardKill,
						387 => new FireWall,
						388 => new IceWall,
						389 => new ThunderWall,
						390 => new WindWall,
						391 => new EarthWall,
						392 => new BraveDance,
						393 => new SkyDance,
						394 => new SaintSong,
						395 => new PhyMirror,
						396 => new MgrMirror,
						397 => new DeadDefend,
						398 => new GuardShield,
						399 => new GoddShield,
						505 => new Wait,
						506 => new Defence,
						507 => new PullUp,
						508 => new MoonGrass,
						509 => new HellSoup,
						510 => new TusuWine,
						512 => new GangesWater,
						513 => new PassiveReset,
						514 => new GoTurn, 
						515 => new Escape,
						516 => new PhySmallSingle,
						517 => new PhyMediumSingle,
						518 => new PhyLargeSingle,
						519 => new PhyVeryLargeSingle,
						520 => new PhySuperLargeSingle,
						521 => new PhySuperVeryLargeSingle,
						522 => new PhySmallAll,
						523 => new PhyMediumAll,
						524 => new PhyLargeAll,
						525 => new PhyExtremSingle,
						526 => new PhyVeryLargeAll,
						527 => new PhySuperLargeAll,
						528 => new PhySuperVeryLargeAll,
						529 => new PhyExtremAll,
						530 => new SkipAction,
						531 => new KuXin,
						532 => new Requrium,
						533 => new BusteAttack,
						534 => new GiantFeste,
						535 => new WindBlade,
						536 => new IceBlade,
						537 => new FireBlade,
						538 => new EarthBlade,
						539 => new CresentMirror,
						540 => new ArrowShow,
						541 => new ConfuseBlade,
						542 => new VenomSaber,
						543 => new SteakAttack,
						544 => new ThruStrike,
						545 => new NibusNibru,
						546 => new CrossFortran,
						547 => new WhiteWave,
						548 => new BlackWave,
						549 => new SoulBreak,
						550 => new AnimeFreeze,
						551 => new BattleArrayMaster,
						552 => new ConsecrateSoul,
						553 => new LightWall,
						554 => new DarkWall,
						560 => new TechSneak,
						561 => new HiCrash,
						562 => new AkashaPanci,
						563 => new AgainPain,
						564 => new GiantMurdur,
						565 => new AppleGarden,
						566 => new GiantCannon,
						567 => new GrantCross,
						568 => new MaraFire,
						569 => new ChaosFire,
						570 => new RosenDofu,
						571 => new ParrelStar,
						572 => new TitWolf,
						573 => new NiceFrostWave,
						574 => new KeenStone,
						575 => new PornDance,
						576 => new NebulaOrcus,
						577 => new MoistWind,
						578 => new CrazyKillerWind,
						579 => new SkyStormWind,
						580 => new SignetWing,
						581 => new CharmThunder,
						582 => new DarkThunder,
						583 => new GodMalice,
//						584 => new ZionArrows,
						585 => new JudgeLight,
						586 => new SaintThunLight,
						587 => new SixStars,
						588 => new Rebirth,
						589 => new UglyMeeting,
						590 => new ForeverPunish,
						591 => new DarkThunLight,
						592 => new SevenStars,
						593 => new AliceBomb,
						594 => new KaruKalinIce,
						595 => new GomerHellFire,
						596 => new SuperNova,
						597 => new DemonDance,
						598 => new ChaosSea,
						599 => new AtZero,
						600 => new ZionBreath,
						601 => new MotaJihad,
						602 => new DarkHug,
						603 => new BigBang,
						604 => new ElJihad,
						605 => new MemuElf,
						606 => new OrigDark,
						607 => new FinalJihad,
						608 => new QieOpenEye,
						609 => new RiKaaMuRose,
						610 => new Soma,
						611 => new NetherworldLure,
						612 => new NornTime,
						616 => new OgreSneak,
						617 => new Apolocy,
						618 => new DeathRiver,
						619 => new VrilleSnake,
						620 => new ZionJedge,
						621 => new RedCloak,
						622 => new DeathCall,
						623 => new CriticalStrike,
						624 => new SmokeFight,
						625 => new LabiCombo,
						626 => new SnakeTeeth,
						);		
	}
	
	public static function get() {
		static $sf = null;
		if ( $sf == null )
			$sf = new SkillFactory();
		return $sf;
	}

	public function getSkill($id) {
		return $this->skills[$id];
	}
	
}

require_once('helper/calhelper_class.php');
require_once('helper/statushelper_class.php');
require_once('helper/skillhelper_class.php');
require_once('helper/dbmysql_class.php');

?>
